@media screen and (max-width: 599px) {
    /* -------------------------- mobile start --------------------------- */

    /* -----------------main------------------- */
    .main_02 img {
        width: 13rem !important;
    }
    .main .main__text {
        align-items: center;
        text-align: center;
    }
    .main .button--wrap {
        position: static;
        transform: none;
        display: flex;
        justify-content: center;
        margin-top: 5rem;
    }
    .main .swiper__container {
        margin-top: 5rem;
    }
    .main .main__swiper {
        padding: 1rem 0;
        width: 100%;
    }
    .main .button--wrap .button {
        width: fit-content;
    }
    .swiper__bg{
        left: 0;
    }
    .swiper__bg img {
        width: 100% !important;
    }

    /* --- con01 --- */
    .con01 .con01__card--wrap {
        gap: 2rem;
    }
    .con01 .center__deco {
        position: static;
        order: 1;
    }
    .con01 .card {
        order: 2;
    }
    .con01__text {
        padding: 0 2rem;
    }

    /* --- con02 --- */
    .con02 .con02__table {
        width: 100%;
        font-size: var(--size-16);
        box-sizing: border-box;
        padding: 0 2rem;
    }

    .con02__table .left,
    .con02__table .right {
        width: calc(100% / 3);
        height: auto;
        border-radius: 3rem;
    }
    .con02__table .center {
        width: calc(100% / 3);
    }
    .con02 .right .column-1 {
        font-size: var(--size-20);
    }
    .con02_05 img {
        width: 50% !important;
    }
    .con02 .con02__cards {
        margin-top: 5rem;
    }
    .con02 .card img {
        width: 34rem !important;
    }

    /* --- con03 --- */
    .con03 .con03__body {
        gap: 1rem;
    }
    .con03_05 img {
        width: 22rem !important;
    }
    .con03_04 img {
        width: 11rem !important;
    }
    .con03 .item-2 {
        margin-bottom: 6rem;
    }
    .con03 .graph-1 {
        width: 13rem;
    }
    .con03 .graph-2 {
        min-width: 32.8vw;
        font-size: var(--size-20);
        padding: 0 1rem;
        box-sizing: border-box;
    }

    /* --- con04 --- */
    .con04 .checkbox--wrap {
        gap: 1rem;
        padding: 0 2rem;
    }
    .con04 .mail__form {
        padding: 0 2rem;
    }
    .con04 .form__agree input[type="checkbox"] {
        width: 16px;
        height: 16px;
    }
    .con04 #name,
    .con04 #tel {
        height: 8.5rem;
        font-size: inherit;
    }

    /* --- con05 --- */
    .con05 .con05__swiper {
        mask-image: linear-gradient(to right, black 10%, transparent 20%, transparent 80%, black 90%);
    }
    .con05 .con05__head__inner {
        gap: 1rem;
    }

    /* --- con06 --- */
    .con06__line {
        width: 2px;
        height: 10rem;
    }
    .con06 .con06__grid {
        gap: 4rem;
        grid-template-columns: 1fr;
        padding: 0 2rem;
    }
    .con06 .lh-10 {
        line-height: 1.2;
    }

    .con07 .text__bubble {
        padding: 0 2rem;
    }
    .con07_03 {
        margin-top: 2rem;
    }
    .con07_06 {
        left: 44rem;
    }

    /* --- con08 --- */
    .con08 .con08__card--wrap {
        gap: 4rem;
    }
    .con08 .card__img {
        width: 49.2rem;
        height: 30.5rem;
    }
    .con08_01 img {
        width: 20rem !important;
    }
    .con08_02 img {
        width: 26rem !important;
    }
    .con08_03 img {
        width: 22rem !important;
    }

    /* --- con09 --- */
    .con09_04 {
        top: 35rem;
        right: 51rem;
    }
    .con09_05 {
        left: 66rem;
        top: 38rem;
    }

    /* --- con10 --- */
    .con10 .headS {
        font-size: var(--size-18);
    }

    .con10__swiper .swiper-slide {
        width: 96%;
        border-radius: 2rem;
    }
    .con10__swiper {
        height: 64rem;
    }
    .con10__swiper .swiper-slide img {
        width: 100% !important;
    }
    .con10 .swiper-slide-active {
        border-color: var(--primary);
        transform: translate(0);
    }
    .con10 .swiper-slide-next {
        transform: translate(0);
    }
    .con10 .swiper-slide-next + .swiper-slide {
        transform: translate(0);
    }

    .con11 .con11__inner {
        position: static;
        padding: 5rem 3rem;
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 2rem;
        background: linear-gradient(45deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.1));
        box-sizing: border-box;
        box-shadow: inset 0 0 12px 4px rgba(255, 255, 255, 0.1);
        filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.2));
    }
}
